<?php
/**
 * 此页面用来协助 IE6/7 预览图片，因为 IE 6/7 不支持 base64
 */

#!! 注意
#!! 此文件只是个示例，不要用于真正的产品之中。
#!! 不保证代码安全性。
#!! IMPORTANT:
#!! this file is just an example, it doesn't incorporate any security checks and
#!! is not recommended to be used in production environment as it is. Be sure to
#!! revise it and customize to your needs.

// $DIR = 'preview';
// // Create target dir
// if (!file_exists($DIR)) {
//     @mkdir($DIR);
// }
//
// $cleanupTargetDir = true; // Remove old files
// $maxFileAge = 5 * 3600; // Temp file age in seconds
//
// if ($cleanupTargetDir) {
//     if (!is_dir($DIR) || !$dir = opendir($DIR)) {
//         die('{"jsonrpc" : "2.0", "error" : {"code": 100, "message": "Failed to open temp directory."}, "id" : "id"}');
//     }
//
//     while (($file = readdir($dir)) !== false) {
//         $tmpfilePath = $DIR . DIRECTORY_SEPARATOR . $file;
//
//         // Remove temp file if it is older than the max age and is not the current file
//         if (@filemtime($tmpfilePath) < time() - $maxFileAge) {
//             @unlink($tmpfilePath);
//         }
//     }
//     closedir($dir);
// }
//
// $src = file_get_contents('php://input');
//
// if (preg_match("#^data:image/(\w+);base64,(.*)$#", $src, $matches)) {
//
//     $previewUrl = sprintf(
//         "%s://%s%s",
//         isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http',
//         $_SERVER['HTTP_HOST'],
//         $_SERVER['REQUEST_URI']
//     );
//     $previewUrl = str_replace("preview.php", "", $previewUrl);
//
//
//     $base64 = $matches[2];
//     $type = $matches[1];
//     if ($type === 'jpeg') {
//         $type = 'jpg';
//     }
//
//     if (!in_array($type, array("jpg", "png", "gif", "bmp"))) {
//         die('{"jsonrpc" : "2.0", "error" : {"code": 200, "message": "un recoginized image source"}, "id" : "id"}');
//     }
//
//     $filename = md5($base64).".$type";
//     $filePath = $DIR.DIRECTORY_SEPARATOR.$filename;
//
//     if (file_exists($filePath)) {
//         die('{"jsonrpc" : "2.0", "result" : "'.$previewUrl.'preview/'.$filename.'", "id" : "id"}');
//     } else {
//         $data = base64_decode($base64);
//         file_put_contents($filePath, $data);
//         die('{"jsonrpc" : "2.0", "result" : "'.$previewUrl.'preview/'.$filename.'", "id" : "id"}');
//     }
//
// } else {
//     die('{"jsonrpc" : "2.0", "error" : {"code": 100, "message": "un recoginized source"}}');
// }
